﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="AsyncEventHandler.cs" company="Catel development team">
//   Copyright (c) 2008 - 2015 Catel development team. All rights reserved.
// </copyright>
// --------------------------------------------------------------------------------------------------------------------


namespace Catel
{
    using System;
    using System.Threading.Tasks;

    /// <summary>
    /// Represents the asynchronous method that will handle an event.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">An System.EventArgs that contains the event data.</param>
    /// <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
    public delegate Task AsyncEventHandler<TEventArgs>(object sender, TEventArgs e) 
        where TEventArgs : EventArgs;
}